package snapex.invoice.service;

import java.util.List;

import snapex.core.model.Invoice;
import snapex.core.model.InvoiceCheck;
import snapex.core.model.InvoiceImage;

public interface IInvoiceService {
	
	public Invoice getInvoice(String invoiceId);
		
	public Invoice getInvoice(String invoiceCode, String invoiceNumber, String invoiceDate);
	
	public Invoice saveInvoice(Invoice invoice);
	
	public InvoiceCheck getInvoiceCheck(String invoiceCode, String invoiceNumber, String invoiceDate);
	
	public InvoiceCheck saveInvoiceCheck(Invoice invoice, InvoiceCheck invoiceCheck);
	
	public String saveInvoiceImage(String invoiceId, byte[] image, String mime);
	
	public InvoiceImage getInvoiceImage(String invoiceId);
	
	public List<InvoiceImage> getInvoiceImages(List<String> invoiceIds);
	
	public int importInvoiceImages(List<InvoiceImage> images);	
}
